#pragma once

#include"IVertexShader.h"

class pgVertexShader : public IVertexShader
{
public:

	pgVertexShader();
	~pgVertexShader();

	ID3D11VertexShader *GetVertexShader() {return m_pVertexShader;}
	ID3D11InputLayout *GetVertexInputLayout() {return m_pVertexInputLayout;}
	bool CompileFromFile(LPCWSTR szFilePath);

	void ReleaseShader();

private:

	ID3D11VertexShader *m_pVertexShader;

	// TODO
	// This is theoretically always the same, so why not make it static or smth.
	ID3D11InputLayout *m_pVertexInputLayout;
};